package com.yuntian.service;

import com.yuntian.Dto.UserPageQueryDto;
import com.yuntian.Vo.admin.UserVo;
import com.yuntian.entity.User;
import com.yuntian.result.PageResult;

public interface UserService {
    /**
     * 登录
     * @param user
     * @return
     */
    User login(User user);

    /**
     * 查询用户列表
     * @param userPageQueryDto 用户分页查询对象
     * @return 分页结果
     */
    PageResult selectUserList(UserPageQueryDto userPageQueryDto);

    /**
     * 注册
     * @param user
     */
    void register(User user);

    /**
     * 删除用户
     * @param userId
     */
    void deleteUser(long userId);

    /**
     * 更新用户
     * @param user
     */
    void updateUser(User user);

    /**
     * 根据用户ID查询用户
     * @param userId
     * @return
     */
    UserVo getByUserId(Long userId);
    /**
     * 启用或禁用用户
     * @param user
     */
    void startOrStop(User user);

    Integer count();
}
